﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Utils;

namespace Logic
{
    public class Carreras
    {
        private Data.Carreras _hnd_carreras = new Data.Carreras();

        private Data.Carreras HndCarreras
        {
            get { return _hnd_carreras; }
        }

        public Entities.Carrera GetByID(int id)
        {
            return HndCarreras.GetByID(id);
        }

        public Entities.Collections.CarrerasCollection GetCollection()
        {
            return HndCarreras.GetCollection();
        }

        private string Validate(Entities.Carrera instance)
        {
            StringBuilder b = new StringBuilder();

            if (instance.Nombre.Trim().IsEmptyString()) b.AppendLine("* No ingresó el nombre de la carrera");
            else if (!instance.Nombre.Trim().IsLengthBetween(1, 255)) b.AppendLine("* El nombre de la carrera debe tener entre 1 y 255 caracteres");

            return b.ToString();
        }

        public string Save(Entities.Carrera instance)
        {
            string r = Validate(instance);

            if (r.IsEmptyString())
            {
                instance.Nombre = instance.Nombre.Trim();
                HndCarreras.Save(instance);
            }

            return r;
        }

        public void Delete(Entities.Carrera instance)
        {
            HndCarreras.Delete(instance);
        }
    }
}
